Storage devices enable users to store and retrieve data. Examples of storage devices include volatile memory devices and non-volatile memory devices. A non-volatile memory may retain data after a power-down event, and a volatile memory may lose data after a power-down event.
Storage devices may store and access data using a data structure. An example of a data structure is a hierarchical (or “tree”) data structure. A hierarchical data structure may indicate that data is to be stored at memory locations indicated by nodes (e.g., leafs) of the hierarchical data structure.
Use of a data structure may result in “random” storage of related data. For example, a logical group of data items may be assigned to non-sequential storage locations. As a result, the logical group of data may be fragmented and small. Certain processes performed at a storage device may read and rewrite the logical group of data, which may cause wear to storage elements of the storage device. An example of wear is a “write amplification” effect. For example, a compaction process to compact the logical group of data may read and rewrite small amounts of data at the storage device, resulting in large block aligned data being written to the storage device multiple times (i.e., a write amplification effect), which may cause wear or damage to the storage elements.